package Day03_运算符_Scanner;

public class demo_逻辑运算 {
    public static void main(String[] args){
        // & 与:   有false则false(要求高)
        System.out.println(true & true); //true
        System.out.println(true & false); //false
        System.out.println(false & true); //false
        System.out.println(false & false); //false

        // | 或：  有true则true(要求低)
        System.out.println(true | true); //true
        System.out.println(true | false); //true
        System.out.println(false | true); //true
        System.out.println(false | false); //false

        // ^ 异或：相同则false,不同则true
        System.out.println(true ^ true); //false
        System.out.println(true ^ false); //true
        System.out.println(false ^ true); //true
        System.out.println(false ^ false); //false

        // ! 非：(常用！)
        System.out.println(!true); //false
        System.out.println(!false); //true

        // && 双与  有false则false（效果一样，效率高）
        System.out.println(true && true); //true
        System.out.println(true && false); //false
        System.out.println(false && true); //false
        System.out.println(false && false); //false

        int a =10;
        int b = 20;
        System.out.println(a == b && ++b > 0); //false
        System.out.println(b); //20 短路效果，左边为false，右边不执行

        // || 双或  有true则true(效果一样，效率高)
        int m = 10;
        int n = 10;
        System.out.println(m == n || ++n > 0);  //true
        System.out.println(n); //10 短路效果，左边为true，右边不执行
    }
}
